using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using FernUniHagen.CompilerExtension.DataStructures;
using FernUniHagen.CompilerExtension.Interfaces;
using Roslyn.Compilers.Common;
using Roslyn.Compilers.CSharp;

namespace FernUniHagen.CompilerExtension.Adaptor
{
    public class VariableDeclarationAdaptor : DeclarationBase, IDeclaration<CommonSyntaxNode>
    {
        VariableDeclarationSyntax _variableDeclaration;
        //   ISemanticModel _model; 


        public VariableDeclarationAdaptor(ISemanticModel model, VariableDeclarationSyntax node)
        {
            this.SemanticModel = model;
            _variableDeclaration = node;
            MultiplicityType = AttributeType.None;
        }
        /// <summary>
        /// Returns the name of the variable
        /// </summary>
        /// <returns></returns>
        public override string GetName()
        {
            return string.Empty;
        }


        public override TypeSyntax GetTypeSyntax()
        {
            return _variableDeclaration.Type;
        }

        public override SyntaxList<AttributeListSyntax> GetAttributes()
        {
            return null;
        }

        public override StatementReplacement<CommonSyntaxNode> ConvertToMutiplicity(string newVariableName)
        {
            throw new NotImplementedException();
        }
    }
}
